/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package presenter;

import collection.CollectionGerente;
import entity.Gerente;
import javax.swing.JOptionPane;
import modelInterface.IAutentica;

/**
 *
 * @author jakson
 */
public class AutenticarGerente implements IAutentica {

    private Gerente C = new Gerente("", "", "", "", "", "");
    private collection.CollectionGerente dir = new CollectionGerente();

    @Override
    public boolean autenticaUsuario(String usuario, String senha) {
        Gerente C = new Gerente("", "", "", "", "", "");
        C = buscarUsuario(usuario);
        if (C.getSenha().compareTo("") == 0) {
            senha = JOptionPane.showInputDialog(null, "Informe uma senha", "Cadastro de Senha", 0);
            C.setSenha(senha);
            dir.editacao(C);
            return true;
        } else if (C.getSenha().compareTo(senha) == 0) {
            return true;
        }

        return false;
    }

    @Override
    public boolean autentica(String usuario, String senha) {
        if (usuario.compareTo("") == 0) {
            JOptionPane.showMessageDialog(null, "Preencha os Campos para efetuar Login");
            return false;
        }
        C = buscarUsuario(usuario);
        if ((buscarUsuario(usuario)).getSenha().equals("bloqueada")) {
            JOptionPane.showMessageDialog(null, "USUARIO BLOQUEADO");
            return false;
            
        } else if ((buscarUsuario(usuario)).getUsuario().equals(usuario)) {
            for (int i = 1; i <= 3; i++) {
                if ((autenticaUsuario(usuario, senha)) == true) {
                    return true;
                } else {
                    senha = JOptionPane.showInputDialog(null, "Informe novamente" + "              Tent.: " + i, "Senha Incorreta", 0);
                }
            }
            C.setSenha("bloqueada");
            dir.editacao(C);
            JOptionPane.showMessageDialog(null,"SEU NUMERO DE TENTATIVA EXEDEU!, CONTA BLOQUEIADA =(");
            return false;
        } else {
            JOptionPane.showMessageDialog(null, "USUARIO NÃO ENCONTADO");
        }
        return false;
    }

    public Gerente buscarUsuario(String usuario) {

        Gerente C = new Gerente("", "", "", "", "", "");
        try {
            for (int i = 0; i < dir.getGerentes().size(); i++) {
                if (dir.getGerentes().get(i).getUsuario().equals(usuario)) {
                    C = dir.getGerentes().get(i);
                }

            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return C;
    }
}
